function ModeloEstadisticasUsuario(){
	var self=this;
	//Usuario
	self.usuario=new MODELO.Usuario();
	self.usuario.getSessionUser();
	self.nombre = ko.observable(self.usuario.nombre);
	self.email = ko.observable(self.usuario.email);
	
	//Estadisticas
	self.estadisticas=new MODELO.Estadisticas();
	self.estadisticas.getSessionEstadisticas();

	self.carbon = ko.observable(self.estadisticas.carbon);
	self.plastico = ko.observable(self.estadisticas.plastico);
	self.puntuacion = ko.observable(self.estadisticas.rank);
	self.victorias = ko.observable(self.estadisticas.victorias);
	self.derrotas = ko.observable(self.estadisticas.derrotas);
	
	this.botonCancelar = function(){
		$("#old_pass").val(null);
		$("#pass").val(null);
		$("#new_pass").val(null);
	}
	

	this.editar_datos_admin=function(){
	self.nombre = $("#edita_nombre").val();
	self.email = $("#edita_email").val();
	self.carbon = $("#edita_carbon").val();
	self.plastico = $("#edita_plastico").val();
	self.victorias = $("#edita_victorias").val();
	self.derrotas = $("#edita_derrotas").val();
	}
	

	this.editPassPropio = function(){
		var id=self.usuario.id;
		var oldpass = document.getElementById('old_pass').value;
		var newpass = document.getElementById('new_pass').value;
		var pass = document.getElementById('pass').value;
		if(pass==newpass){
			var newpass = {
				id: id,
				pass : pass,
				oldpass : oldpass
			}
			$.ajax({
				data : newpass,
				url : '../includes/cambiarPass.php',
				global : false,
				type : "GET",
				dataType : "html",
				async : false,
			}).done(function(resultado) {
				alert(resultado);
			});
			//alert(id);
		}else{
			alert("Error, contraseñas no iguales");
		}
		
	}
}
function ModeloNoticias(){
	var self=this;
	//Noticias
	self.noticias=new MODELO.Noticias();
	self.noticias.cargarNoticias();
		
	self.lista=ko.observableArray(self.noticias.lista);
	
	self.eliminarNoticia=function(noticia,id) {
		if (confirm("¿Está seguro? Estos cambios se aplicarán al instante")) { 
			//Elimino del cliente
	    	self.lista.remove(noticia);
	    	//Elimino del servidor
	        self.noticias.eliminarNoticia(id);
		}
	};
    self.noticiaSeleccionadaIndex=ko.observable(0);
    
    self.seleccionarNoticia=function(index){
    	//alert(index);
    	if(index==self.lista().length){
    		self.lista.push(new MODELO.Noticia("","","","null"));
    	}
    	self.noticiaSeleccionadaIndex(index);
    }
    
    self.guardarCambios=function(){
    	for(var i=0;i<self.lista().length;i++){

    		if(self.lista()[i].id=="null"){
    			//Noticia creada
    			$.get('./js/ajax/guardar_noticia.php',{action: "insert",id: self.lista()[i].id,titulo: self.lista()[i].titulo, texto: self.lista()[i].texto}).done(function(data){
					if(data=="ok"){
						cont++;
					}
				});
    		}else{
    			//Noticia editada
    			$.get('./js/ajax/guardar_noticia.php',{action: "update",id: self.lista()[i].id,titulo: self.lista()[i].titulo, texto: self.lista()[i].texto}).done(function(data){
					if(data=="ok"){
						cont++;
					}
				});
    		}
    	}
    	alert("Se han realizado los cambios");
    	location.reload();
	}
    
}


var MODELO = {

	Usuario : function() {
		this.id;
		this.pass;
		this.nombre;
		this.email;

		this.getSessionUser=function(){
			var obj=JSON.parse($.ajax({
				url: './js/ajax/getSessionUser.php',
				global: false,
				type: "POST",
				dataType: "html",
				async:false,
			}).responseText);
			this.id=obj.id;
			this.pass = obj.pass;
			this.nombre = obj.nombre;
			this.email = obj.email;
		}
		
		this.editMail = function(email) {
			var exp = "^[a-z0-9.!\#$%&\'*+-/=?^_`{|}~]+@([0-9.]+|([^\s]+\.+[a-z]{2,6}))$";
			if (!(email.match(exp))) {
				alert("Mail no valido");
			} else {
				var data = {
					mail : email
				}
				$.ajax({
					data : data,
					url : '../includes/cambiarMail.php',
					global : false,
					type : "GET",
					dataType : "html",
					async : false,
				}).done(function(resultado) { 
					alert("Email cambiado correctamente");
				});
			}
		};
		
		
	},

	DatosPersonales : function(nombre, apellidos, dni, ocupacion, direccion, telefono, intereses) {
		this.nombre = nombre;
		this.apellidos = apellidos;
		this.dni = dni;
		this.ocupacion = ocupacion;
		this.direccion = direccion;
		this.telefono = telefono;
		this.intereses = intereses;


	},
	
	Noticia : function(fecha,titulo,texto,id){
		this.fecha=ko.observable(fecha);
		this.titulo=ko.observable(titulo);
		this.texto=ko.observable(texto);
		this.id=id;
	},
	
	Noticias : function() {
		var self=this;
		this.lista;

		this.cargarNoticias=function(){
			$.ajax({
				url : './js/ajax/get_noticias.php',
				global : false,
				type : "GET",
				dataType : "html",
				async : false,
			}).done(function(resultado) {
				self.noticias=JSON.parse(resultado);
				self.lista=null;
				self.lista=self.noticias.noticias;
				self.arrayToObjectArray();
			});
		};
		this.arrayToObjectArray=function(){
			for(var i=0;i<self.lista.length;i++){
				self.lista[i]=new MODELO.Noticia(self.lista[i].fecha,self.lista[i].titulo,self.lista[i].texto,self.lista[i].id);
			}
		};
		this.eliminarNoticia=function(id){
			//alert(index);
			$.get('./js/ajax/eliminar_noticia.php',{id: id}).done(function(data){
				/*if(data=="ok"){
					alert("Se ha eliminado correctamente");
				}else alert("No se ha podido eliminar");*/
			});
			//self.lista.splice(index, 1);
			//alert(this.lista);
		};
	},

	Estadisticas : function() {
		this.rank;
		this.victorias;
		this.derrotas;
		this.plastico;
		this.carbon;

		this.getSessionEstadisticas=function(){
			var obj=JSON.parse($.ajax({
				url: './js/ajax/getSessionStats.php',
				global: false,
				type: "POST",
				dataType: "html",
				async:false,
			}).responseText);
			this.rank=obj.rank;
			this.victorias=obj.victorias;
			this.derrotas=obj.derrotas;
			this.plastico=obj.plastico;
			this.carbon=obj.carbon;
		};
	}
};